package com.sunzm.dynamic_rule.pojo;

import java.io.Serializable;
import java.util.Map;

/**
 * 用户行为日志实体类
 *
 * @author Administrator
 * @version 1.0
 * @date 2021-07-03 22:20
 */
public class LogBean implements Serializable {
    /**
     * 账号
     */
    private String account;
    /**
     * 应用Id
     */
    private String appId;
    /**
     * 应用版本
     */
    private String appVersion;
    /**
     * 手机运营商
     */
    private String carrier;
    /**
     * 设备ID
     */
    private String deviceId;
    /**
     * 设备类型
     */
    private String deviceType;
    /**
     * IP地址
     */
    private String ip;
    /**
     * 纬度
     */
    private double latitude;
    /**
     * 经度
     */
    private double longitude;
    /**
     * 网络类型
     */
    private String netType;
    /**
     * 操作系统名称
     */
    private String osName;
    /**
     * 操作系统版本
     */
    private String osVersion;
    /**
     * 发布渠道（就是这个软件从哪里下载的，比如手机应用商店,腾讯软件管家,豌豆荚等）
     */
    private String releaseChannel;
    /**
     * 手机分辨率
     */
    private String resolution;
    /**
     * 会话ID
     */
    private String sessionId;
    /**
     * 时间戳
     */
    private long timeStamp;
    /**
     * 事件类型
     */
    private String eventId;
    /**
     * 事件详情（properties，map结构）
     */
    private Map<String, String> properties;

    public LogBean() {
    }

    public LogBean(String account, String appId, String appVersion, String carrier, String deviceId, String deviceType, String ip, double latitude, double longitude, String netType, String osName, String osVersion, String releaseChannel, String resolution, String sessionId, long timeStamp, String eventId, Map<String, String> properties) {
        this.account = account;
        this.appId = appId;
        this.appVersion = appVersion;
        this.carrier = carrier;
        this.deviceId = deviceId;
        this.deviceType = deviceType;
        this.ip = ip;
        this.latitude = latitude;
        this.longitude = longitude;
        this.netType = netType;
        this.osName = osName;
        this.osVersion = osVersion;
        this.releaseChannel = releaseChannel;
        this.resolution = resolution;
        this.sessionId = sessionId;
        this.timeStamp = timeStamp;
        this.eventId = eventId;
        this.properties = properties;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getAppVersion() {
        return appVersion;
    }

    public void setAppVersion(String appVersion) {
        this.appVersion = appVersion;
    }

    public String getCarrier() {
        return carrier;
    }

    public void setCarrier(String carrier) {
        this.carrier = carrier;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public double getLatitude() {
        return latitude;
    }

    public void setLatitude(double latitude) {
        this.latitude = latitude;
    }

    public double getLongitude() {
        return longitude;
    }

    public void setLongitude(double longitude) {
        this.longitude = longitude;
    }

    public String getNetType() {
        return netType;
    }

    public void setNetType(String netType) {
        this.netType = netType;
    }

    public String getOsName() {
        return osName;
    }

    public void setOsName(String osName) {
        this.osName = osName;
    }

    public String getOsVersion() {
        return osVersion;
    }

    public void setOsVersion(String osVersion) {
        this.osVersion = osVersion;
    }

    public String getReleaseChannel() {
        return releaseChannel;
    }

    public void setReleaseChannel(String releaseChannel) {
        this.releaseChannel = releaseChannel;
    }

    public String getResolution() {
        return resolution;
    }

    public void setResolution(String resolution) {
        this.resolution = resolution;
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public long getTimeStamp() {
        return timeStamp;
    }

    public void setTimeStamp(long timeStamp) {
        this.timeStamp = timeStamp;
    }

    public String getEventId() {
        return eventId;
    }

    public void setEventId(String eventId) {
        this.eventId = eventId;
    }

    public Map<String, String> getProperties() {
        return properties;
    }

    public void setProperties(Map<String, String> properties) {
        this.properties = properties;
    }

    @Override
    public String toString() {
        return "LogBean{" +
                "account='" + account + '\'' +
                ", appId='" + appId + '\'' +
                ", appVersion='" + appVersion + '\'' +
                ", carrier='" + carrier + '\'' +
                ", deviceId='" + deviceId + '\'' +
                ", deviceType='" + deviceType + '\'' +
                ", ip='" + ip + '\'' +
                ", latitude=" + latitude +
                ", longitude=" + longitude +
                ", netType='" + netType + '\'' +
                ", osName='" + osName + '\'' +
                ", osVersion='" + osVersion + '\'' +
                ", releaseChannel='" + releaseChannel + '\'' +
                ", resolution='" + resolution + '\'' +
                ", sessionId='" + sessionId + '\'' +
                ", timeStamp=" + timeStamp +
                ", eventId='" + eventId + '\'' +
                ", properties=" + properties +
                '}';
    }
}
